[INFO] cloning repository https://github.com/danielwippermann/resol-vbus.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/danielwippermann/resol-vbus.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielwippermann%2Fresol-vbus.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielwippermann%2Fresol-vbus.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40f4237bede8fde2465e940833ee3a4d3a6ee2f8
[INFO] checking danielwippermann/resol-vbus.rs against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielwippermann%2Fresol-vbus.rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/danielwippermann/resol-vbus.rs on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/danielwippermann/resol-vbus.rs
[INFO] finished tweaking git repo https://github.com/danielwippermann/resol-vbus.rs
[INFO] tweaked toml for git repo https://github.com/danielwippermann/resol-vbus.rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/danielwippermann/resol-vbus.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cc5e5eb15720ceed332b1dc53b6400b9ff791e6478f346835a9dde44ebd12d53
[INFO] running `Command { std: "docker" "start" "-a" "cc5e5eb15720ceed332b1dc53b6400b9ff791e6478f346835a9dde44ebd12d53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc5e5eb15720ceed332b1dc53b6400b9ff791e6478f346835a9dde44ebd12d53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc5e5eb15720ceed332b1dc53b6400b9ff791e6478f346835a9dde44ebd12d53", kill_on_drop: false }`
[INFO] [stdout] cc5e5eb15720ceed332b1dc53b6400b9ff791e6478f346835a9dde44ebd12d53
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ac17eb7266d9cf1a09b42071b97172c2e034e34d60d46477a2c9b535677b1704
[INFO] running `Command { std: "docker" "start" "-a" "ac17eb7266d9cf1a09b42071b97172c2e034e34d60d46477a2c9b535677b1704", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking resol-vbus v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.89s
[INFO] running `Command { std: "docker" "inspect" "ac17eb7266d9cf1a09b42071b97172c2e034e34d60d46477a2c9b535677b1704", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac17eb7266d9cf1a09b42071b97172c2e034e34d60d46477a2c9b535677b1704", kill_on_drop: false }`
[INFO] [stdout] ac17eb7266d9cf1a09b42071b97172c2e034e34d60d46477a2c9b535677b1704
[INFO] checking danielwippermann/resol-vbus.rs against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielwippermann%2Fresol-vbus.rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/danielwippermann/resol-vbus.rs on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/danielwippermann/resol-vbus.rs
[INFO] finished tweaking git repo https://github.com/danielwippermann/resol-vbus.rs
[INFO] tweaked toml for git repo https://github.com/danielwippermann/resol-vbus.rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/danielwippermann/resol-vbus.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 616ac5e88c372e7ba83fd00468592b8e68862ecf99055a292322c10aed81ea3e
[INFO] running `Command { std: "docker" "start" "-a" "616ac5e88c372e7ba83fd00468592b8e68862ecf99055a292322c10aed81ea3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "616ac5e88c372e7ba83fd00468592b8e68862ecf99055a292322c10aed81ea3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "616ac5e88c372e7ba83fd00468592b8e68862ecf99055a292322c10aed81ea3e", kill_on_drop: false }`
[INFO] [stdout] 616ac5e88c372e7ba83fd00468592b8e68862ecf99055a292322c10aed81ea3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ce541e85c64345f89fac5c24a3ce515ea12e74dbf4e3363e0263c6bf832c037
[INFO] running `Command { std: "docker" "start" "-a" "7ce541e85c64345f89fac5c24a3ce515ea12e74dbf4e3363e0263c6bf832c037", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking resol-vbus v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/blob_buffer.rs:26:33
[INFO] [stdout]     |
[INFO] [stdout] 26  |             drop(self.buf.drain(0..self.start));
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         &self.buf[self.start..]
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_reader.rs:71:41
[INFO] [stdout]    |
[INFO] [stdout] 71 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]  --> src/little_endian.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 |     i16::from_le_bytes(bytes[0..2].try_into().unwrap())
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]  --> src/little_endian.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     bytes[0..2].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     u16::from_le_bytes(bytes[0..2].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     bytes[0..2].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     i32::from_le_bytes(bytes[0..4].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bytes[0..4].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     i64::from_le_bytes(bytes[0..8].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     bytes[0..8].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_buffer.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Some(&self.buf[0..length])
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |     } else if has_msb_set(&buf[1..6]) {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) || !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:86
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) || !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 } else if has_msb_set(&buf[10..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 6])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |             } else if has_msb_set(&buf[6..16]) || !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:59:86
[INFO] [stdout]    |
[INFO] [stdout] 59 |             } else if has_msb_set(&buf[6..16]) || !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:67:40
[INFO] [stdout]    |
[INFO] [stdout] 67 |             } else if has_msb_set(&buf[6..8]) || !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:67:85
[INFO] [stdout]    |
[INFO] [stdout] 67 |             } else if has_msb_set(&buf[6..8]) || !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:74:44
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 } else if has_msb_set(&buf[8..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:79:59
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 9])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:102:53
[INFO] [stdout]     |
[INFO] [stdout] 102 |         destination_address: u16_from_le_bytes(&buf[1..]),
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:103:48
[INFO] [stdout]     |
[INFO] [stdout] 103 |         source_address: u16_from_le_bytes(&buf[3..]),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:115:33
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 &mut frame_data[dst_start..dst_start + 4],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 &buf[src_start..src_start + 5],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:122:45
[INFO] [stdout]     |
[INFO] [stdout] 122 |             command: u16_from_le_bytes(&buf[6..]),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:128:57
[INFO] [stdout]     |
[INFO] [stdout] 128 |         copy_bytes_injecting_septett(&mut payload, &buf[8..15]);
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:132:45
[INFO] [stdout]     |
[INFO] [stdout] 132 |             command: u16_from_le_bytes(&buf[6..]),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:133:49
[INFO] [stdout]     |
[INFO] [stdout] 133 |             param16: i16_from_le_bytes(&payload[0..]),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 134 |             param32: i32_from_le_bytes(&payload[2..]),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:141:26
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:145:33
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 &mut frame_data[dst_start..dst_start + 7],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 &buf[src_start..src_start + 8],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:27:38
[INFO] [stdout]    |
[INFO] [stdout] 27 |             u16_to_le_bytes(&mut buf[1..3], packet.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |             u16_to_le_bytes(&mut buf[3..5], packet.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |             u16_to_le_bytes(&mut buf[6..8], packet.command);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:32:47
[INFO] [stdout]    |
[INFO] [stdout] 32 |             calc_and_set_checksum_v0(&mut buf[1..10]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |             for frame_idx in 0..(packet.frame_count as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     &mut buf[dst_start..dst_start + 5],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:39:40
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     &packet.frame_data[src_start..src_start + 4],
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:41:51
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 6]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 |             u16_to_le_bytes(&mut buf[1..3], dgram.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 |             u16_to_le_bytes(&mut buf[3..5], dgram.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 |             u16_to_le_bytes(&mut buf[6..8], dgram.command);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |             i16_to_le_bytes(&mut payload[0..], dgram.param16);
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:52:42
[INFO] [stdout]    |
[INFO] [stdout] 52 |             i32_to_le_bytes(&mut payload[2..], dgram.param32);
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 |             copy_bytes_extracting_septett(&mut buf[8..15], &payload);
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:54:47
[INFO] [stdout]    |
[INFO] [stdout] 54 |             calc_and_set_checksum_v0(&mut buf[1..16]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |             u16_to_le_bytes(&mut buf[1..3], tgram.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:59:38
[INFO] [stdout]    |
[INFO] [stdout] 59 |             u16_to_le_bytes(&mut buf[3..5], tgram.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |             calc_and_set_checksum_v0(&mut buf[1..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for frame_idx in 0..(tgram.frame_count() as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     &mut buf[dst_start..dst_start + 8],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     &tgram.frame_data[src_start..src_start + 7],
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 9]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_reader.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_reader.rs:99:85
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]    |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:123:78
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:214:70
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:219:39
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   &self.buf[start..start + length],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:222:45
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         drop(self.buf.drain(0..start + length));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:241:85
[INFO] [stdout]     |
[INFO] [stdout] 241 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:262:60
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:301:85
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:323:56
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:328:78
[INFO] [stdout]     |
[INFO] [stdout] 328 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:345:45
[INFO] [stdout]     |
[INFO] [stdout] 345 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |         bytes_from_timestamp(end_timestamp, &mut buf[14..22]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         buf[22..].copy_from_slice(data);
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/packet.rs:205:30
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let field_id = &self[21..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:303:26
[INFO] [stdout]     |
[INFO] [stdout] 303 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:332:30
[INFO] [stdout]     |
[INFO] [stdout] 332 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let expected_len = u16_from_le_bytes(&buf[2..4]) as usize;
[INFO] [stdout]    |                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:42:47
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let timestamp_ms = i64_from_le_bytes(&buf[0..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:50:55
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let timestamp = timestamp_from_checked_bytes(&buf[6..14]);
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:51:54
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let destination_address = u16_from_le_bytes(&buf[14..16]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:52:49
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let source_address = u16_from_le_bytes(&buf[16..18]);
[INFO] [stdout]    |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:57:46
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let command = u16_from_le_bytes(&buf[20..22]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:62:63
[INFO] [stdout]    |
[INFO] [stdout] 62 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let command = u16_from_le_bytes(&buf[20..22]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:78:46
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let param16 = i16_from_le_bytes(&buf[26..28]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:79:46
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let param32 = i32_from_le_bytes(&buf[28..32]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:95:56
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:98:63
[INFO] [stdout]    |
[INFO] [stdout] 98 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:130:72
[INFO] [stdout]     |
[INFO] [stdout] 130 |                         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:147:72
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |     i64_to_le_bytes(&mut buf[0..8], timestamp);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     u16_to_le_bytes(&mut buf[2..4], length);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     u16_to_le_bytes(&mut buf[4..6], length);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:37:46
[INFO] [stdout]    |
[INFO] [stdout] 37 |     bytes_from_timestamp(timestamp, &mut buf[6..14]);
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     u16_to_le_bytes(&mut buf[14..16], header.destination_address);
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |     u16_to_le_bytes(&mut buf[16..18], header.source_address);
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |             u16_to_le_bytes(&mut buf[20..22], packet.command);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |             u16_to_le_bytes(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:67:53
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 .copy_from_slice(&packet.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |             u16_to_le_bytes(&mut buf[20..22], dgram.command);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:75:38
[INFO] [stdout]    |
[INFO] [stdout] 75 |             i16_to_le_bytes(&mut buf[26..28], dgram.param16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |             i32_to_le_bytes(&mut buf[28..32], dgram.param32);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 |             u16_to_le_bytes(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:87:52
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 .copy_from_slice(&tgram.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_reader.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok(&bytes[0..self.previous_length])
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:105:78
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let data_set_timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:153:73
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     let timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:154:85
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let comment = RecordingComment::new(timestamp, Vec::from(&bytes[14..]));
[INFO] [stdout]     |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:229:81
[INFO] [stdout]     |
[INFO] [stdout] 229 |                     let record_timestamp = timestamp_from_checked_bytes(&record[6..14]);
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.writer.write_all(&buf[0..14])?;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:47:44
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 self.writer.write_all(&buf[0..16])?;
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:52:40
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.writer.write_all(&buf[0..length])?;
[INFO] [stdout]    |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/specification.rs:961:48
[INFO] [stdout]     |
[INFO] [stdout] 961 | ...                   write!(f, "{}", &s[1..])?;
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1045:57
[INFO] [stdout]      |
[INFO] [stdout] 1045 |                     let frame_data = &packet.frame_data[0..packet.frame_count as usize * 4];
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/specification_file.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 |     &buf[offset..(offset + length)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:368:60
[INFO] [stdout]     |
[INFO] [stdout] 368 |             let checksum_a = u16_from_le_bytes(&fileheader[0x00..0x02]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:369:60
[INFO] [stdout]     |
[INFO] [stdout] 369 |             let checksum_b = u16_from_le_bytes(&fileheader[0x02..0x04]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:370:62
[INFO] [stdout]     |
[INFO] [stdout] 370 |             let total_length = i32_from_le_bytes(&fileheader[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:371:62
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let data_version = i32_from_le_bytes(&fileheader[0x08..0x0C]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:372:70
[INFO] [stdout]     |
[INFO] [stdout] 372 |             let specification_offset = i32_from_le_bytes(&fileheader[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:376:41
[INFO] [stdout]     |
[INFO] [stdout] 376 |             } else if calc_crc16(&bytes[0x04..total_length]) != checksum_a {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/specification_file.rs:495:10
[INFO] [stdout]     |
[INFO] [stdout] 495 |         (-1..=6).contains(&id)
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:508:49
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let datecode = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:509:51
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let text_count = i32_from_le_bytes(&block[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:510:58
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let text_table_offset = i32_from_le_bytes(&block[0x08..0x0C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:511:61
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let localized_text_count = i32_from_le_bytes(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:512:68
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let localized_text_table_offset = i32_from_le_bytes(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:513:51
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let unit_count = i32_from_le_bytes(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:514:58
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let unit_table_offset = i32_from_le_bytes(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:515:62
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let device_template_count = i32_from_le_bytes(&block[0x1C..0x20]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:516:69
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let device_template_table_offset = i32_from_le_bytes(&block[0x20..0x24]) as usize;
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:517:62
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let packet_template_count = i32_from_le_bytes(&block[0x24..0x28]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:518:69
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let packet_template_table_offset = i32_from_le_bytes(&block[0x28..0x2C]) as usize;
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:548:26
[INFO] [stdout]     |
[INFO] [stdout] 548 |             for index in 0..text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:553:26
[INFO] [stdout]     |
[INFO] [stdout] 553 |             for index in 0..localized_text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:559:26
[INFO] [stdout]     |
[INFO] [stdout] 559 |             for index in 0..unit_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:564:26
[INFO] [stdout]     |
[INFO] [stdout] 564 |             for index in 0..device_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:570:26
[INFO] [stdout]     |
[INFO] [stdout] 570 |             for index in 0..packet_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:582:54
[INFO] [stdout]     |
[INFO] [stdout] 582 |         let string_offset = i32_from_le_bytes(&block[0x00..0x04]) as usize;
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:591:46
[INFO] [stdout]     |
[INFO] [stdout] 591 |             match std::str::from_utf8(&bytes[string_offset..string_end]) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:605:54
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let text_index_en = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:606:54
[INFO] [stdout]     |
[INFO] [stdout] 606 |         let text_index_de = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:607:54
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let text_index_fr = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:626:48
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let unit_id = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:627:55
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let unit_family_id = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:628:61
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let unit_code_text_index = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:629:61
[INFO] [stdout]     |
[INFO] [stdout] 629 |         let unit_text_text_index = i32_from_le_bytes(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:654:53
[INFO] [stdout]     |
[INFO] [stdout] 654 |         let self_address = u16_from_le_bytes(&block[0x00..0x02]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:655:50
[INFO] [stdout]     |
[INFO] [stdout] 655 |         let self_mask = u16_from_le_bytes(&block[0x02..0x04]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:656:53
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let peer_address = u16_from_le_bytes(&block[0x04..0x06]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:657:50
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let peer_mask = u16_from_le_bytes(&block[0x06..0x08]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:658:66
[INFO] [stdout]     |
[INFO] [stdout] 658 |         let name_localized_text_index = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:680:60
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let destination_address = u16_from_le_bytes(&block[0x00..0x02]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:681:57
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let destination_mask = u16_from_le_bytes(&block[0x02..0x04]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:682:55
[INFO] [stdout]     |
[INFO] [stdout] 682 |         let source_address = u16_from_le_bytes(&block[0x04..0x06]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:683:52
[INFO] [stdout]     |
[INFO] [stdout] 683 |         let source_mask = u16_from_le_bytes(&block[0x06..0x08]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |         let command = u16_from_le_bytes(&block[0x08..0x0A]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:685:52
[INFO] [stdout]     |
[INFO] [stdout] 685 |         let field_count = i32_from_le_bytes(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:686:59
[INFO] [stdout]     |
[INFO] [stdout] 686 |         let field_table_offset = i32_from_le_bytes(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:692:26
[INFO] [stdout]     |
[INFO] [stdout] 692 |             for index in 0..field_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:716:54
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let id_text_index = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:717:66
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let name_localized_text_index = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:718:48
[INFO] [stdout]     |
[INFO] [stdout] 718 |         let unit_id = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:719:50
[INFO] [stdout]     |
[INFO] [stdout] 719 |         let precision = i32_from_le_bytes(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:720:48
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let type_id = i32_from_le_bytes(&block[0x10..0x14]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:721:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |         let part_count = i32_from_le_bytes(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:722:58
[INFO] [stdout]     |
[INFO] [stdout] 722 |         let part_table_offset = i32_from_le_bytes(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:736:26
[INFO] [stdout]     |
[INFO] [stdout] 736 |             for index in 0..part_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:760:52
[INFO] [stdout]     |
[INFO] [stdout] 760 |         let data_offset = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:764:47
[INFO] [stdout]     |
[INFO] [stdout] 764 |         let factor = i64_from_le_bytes(&block[0x08..0x10]);
[INFO] [stdout]     |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |     calc_checksum_v0(&buf[0..idx]) == buf[idx]
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     buf[idx] = calc_checksum_v0(&buf[0..idx]);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/test_utils.rs:67:32
[INFO] [stdout]     |
[INFO] [stdout] 67  |         let len = (&self.bytes[self.read_index..]).read(buf)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |             drop(self.buf.drain(0..self.start));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         &self.buf[self.start..]
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/blob_buffer.rs:168:39
[INFO] [stdout]     |
[INFO] [stdout] 168 |         assert_eq!(&[0x05, 0x06], &bb[2..4]);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_reader.rs:71:41
[INFO] [stdout]    |
[INFO] [stdout] 71 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:327:66
[INFO] [stdout]     |
[INFO] [stdout] 327 |         data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..])
[INFO] [stdout]     |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:331:66
[INFO] [stdout]     |
[INFO] [stdout] 331 |         data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..])
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:335:70
[INFO] [stdout]     |
[INFO] [stdout] 335 |         data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..])
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:243:84
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let packet_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:244:83
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let dgram_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]     |                                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:268:84
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let packet_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:284:84
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let packet_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:285:83
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let dgram_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]     |                                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:286:87
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let tgram_data = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:302:83
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let data = data_from_checked_bytes(other_timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:313:83
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let data = data_from_checked_bytes(timestamp, other_channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:373:26
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:383:30
[INFO] [stdout]     |
[INFO] [stdout] 383 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:423:26
[INFO] [stdout]     |
[INFO] [stdout] 423 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:428:26
[INFO] [stdout]     |
[INFO] [stdout] 428 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:433:30
[INFO] [stdout]     |
[INFO] [stdout] 433 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:451:26
[INFO] [stdout]     |
[INFO] [stdout] 451 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:456:26
[INFO] [stdout]     |
[INFO] [stdout] 456 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:461:30
[INFO] [stdout]     |
[INFO] [stdout] 461 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:487:26
[INFO] [stdout]     |
[INFO] [stdout] 487 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:492:26
[INFO] [stdout]     |
[INFO] [stdout] 492 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:497:30
[INFO] [stdout]     |
[INFO] [stdout] 497 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:520:26
[INFO] [stdout]     |
[INFO] [stdout] 520 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:525:26
[INFO] [stdout]     |
[INFO] [stdout] 525 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:530:30
[INFO] [stdout]     |
[INFO] [stdout] 530 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:554:26
[INFO] [stdout]     |
[INFO] [stdout] 554 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:559:26
[INFO] [stdout]     |
[INFO] [stdout] 559 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:564:30
[INFO] [stdout]     |
[INFO] [stdout] 564 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:592:26
[INFO] [stdout]     |
[INFO] [stdout] 592 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:597:26
[INFO] [stdout]     |
[INFO] [stdout] 597 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:602:30
[INFO] [stdout]     |
[INFO] [stdout] 602 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:630:26
[INFO] [stdout]     |
[INFO] [stdout] 630 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:635:26
[INFO] [stdout]     |
[INFO] [stdout] 635 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:640:26
[INFO] [stdout]     |
[INFO] [stdout] 640 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:645:30
[INFO] [stdout]     |
[INFO] [stdout] 645 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:650:26
[INFO] [stdout]     |
[INFO] [stdout] 650 |             &LIVE_DATA_1[258..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:655:26
[INFO] [stdout]     |
[INFO] [stdout] 655 |             &LIVE_DATA_1[242..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |             &LIVE_DATA_1[172..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:736:26
[INFO] [stdout]     |
[INFO] [stdout] 736 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:741:26
[INFO] [stdout]     |
[INFO] [stdout] 741 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:746:26
[INFO] [stdout]     |
[INFO] [stdout] 746 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:751:30
[INFO] [stdout]     |
[INFO] [stdout] 751 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:756:26
[INFO] [stdout]     |
[INFO] [stdout] 756 |             &LIVE_DATA_1[258..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:761:26
[INFO] [stdout]     |
[INFO] [stdout] 761 |             &LIVE_DATA_1[242..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:766:26
[INFO] [stdout]     |
[INFO] [stdout] 766 |             &LIVE_DATA_1[172..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:800:39
[INFO] [stdout]     |
[INFO] [stdout] 800 |             let l_id = &l.id_string()[8..];
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:801:39
[INFO] [stdout]     |
[INFO] [stdout] 801 |             let r_id = &r.id_string()[8..];
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:846:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:851:26
[INFO] [stdout]     |
[INFO] [stdout] 851 |             &LIVE_DATA_1[172..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:856:26
[INFO] [stdout]     |
[INFO] [stdout] 856 |             &LIVE_DATA_1[242..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:861:26
[INFO] [stdout]     |
[INFO] [stdout] 861 |             &LIVE_DATA_1[258..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:866:26
[INFO] [stdout]     |
[INFO] [stdout] 866 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:871:30
[INFO] [stdout]     |
[INFO] [stdout] 871 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:876:26
[INFO] [stdout]     |
[INFO] [stdout] 876 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:919:26
[INFO] [stdout]     |
[INFO] [stdout] 919 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:924:26
[INFO] [stdout]     |
[INFO] [stdout] 924 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:929:30
[INFO] [stdout]     |
[INFO] [stdout] 929 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]  --> src/little_endian.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 |     i16::from_le_bytes(bytes[0..2].try_into().unwrap())
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]  --> src/little_endian.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     bytes[0..2].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     u16::from_le_bytes(bytes[0..2].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     bytes[0..2].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     i32::from_le_bytes(bytes[0..4].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bytes[0..4].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     i64::from_le_bytes(bytes[0..8].try_into().unwrap())
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/little_endian.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     bytes[0..8].copy_from_slice(&value.to_le_bytes())
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_buffer.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Some(&self.buf[0..length])
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_buffer.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |         ldb.extend_from_slice(&LIVE_DATA_1[1..]);
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |     } else if has_msb_set(&buf[1..6]) {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) || !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:86
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) || !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 } else if has_msb_set(&buf[10..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 6])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |             } else if has_msb_set(&buf[6..16]) || !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:59:86
[INFO] [stdout]    |
[INFO] [stdout] 59 |             } else if has_msb_set(&buf[6..16]) || !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:67:40
[INFO] [stdout]    |
[INFO] [stdout] 67 |             } else if has_msb_set(&buf[6..8]) || !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:67:85
[INFO] [stdout]    |
[INFO] [stdout] 67 |             } else if has_msb_set(&buf[6..8]) || !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:74:44
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 } else if has_msb_set(&buf[8..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:79:59
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 9])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:102:53
[INFO] [stdout]     |
[INFO] [stdout] 102 |         destination_address: u16_from_le_bytes(&buf[1..]),
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:103:48
[INFO] [stdout]     |
[INFO] [stdout] 103 |         source_address: u16_from_le_bytes(&buf[3..]),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:115:33
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 &mut frame_data[dst_start..dst_start + 4],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 &buf[src_start..src_start + 5],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:122:45
[INFO] [stdout]     |
[INFO] [stdout] 122 |             command: u16_from_le_bytes(&buf[6..]),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:128:57
[INFO] [stdout]     |
[INFO] [stdout] 128 |         copy_bytes_injecting_septett(&mut payload, &buf[8..15]);
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:132:45
[INFO] [stdout]     |
[INFO] [stdout] 132 |             command: u16_from_le_bytes(&buf[6..]),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:133:49
[INFO] [stdout]     |
[INFO] [stdout] 133 |             param16: i16_from_le_bytes(&payload[0..]),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 134 |             param32: i32_from_le_bytes(&payload[2..]),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:141:26
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:145:33
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 &mut frame_data[dst_start..dst_start + 7],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 &buf[src_start..src_start + 8],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:318:68
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(BlobLength(172), length_from_bytes(&LIVE_DATA_1[0..]));
[INFO] [stdout]     |                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:319:67
[INFO] [stdout]     |
[INFO] [stdout] 319 |         assert_eq!(BlobLength(70), length_from_bytes(&LIVE_DATA_1[172..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:320:67
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(BlobLength(16), length_from_bytes(&LIVE_DATA_1[242..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:321:67
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(BlobLength(94), length_from_bytes(&LIVE_DATA_1[258..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:322:67
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(BlobLength(16), length_from_bytes(&LIVE_DATA_1[352..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:323:71
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(BlobLength(17), length_from_bytes(&LIVE_TELEGRAM_1[0..]));
[INFO] [stdout]     |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:331:77
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:372:46
[INFO] [stdout]     |
[INFO] [stdout] 372 |             to_hex_string(&packet.frame_data[0..108])
[INFO] [stdout]     |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:391:62
[INFO] [stdout]     |
[INFO] [stdout] 391 |             data_from_bytes(timestamp, channel, &LIVE_DATA_1[0..]).expect("Must return Data");
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:395:66
[INFO] [stdout]     |
[INFO] [stdout] 395 |         assert!(data_from_bytes(timestamp, channel, &LIVE_DATA_1[0..1]).is_none());
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:27:38
[INFO] [stdout]    |
[INFO] [stdout] 27 |             u16_to_le_bytes(&mut buf[1..3], packet.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |             u16_to_le_bytes(&mut buf[3..5], packet.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |             u16_to_le_bytes(&mut buf[6..8], packet.command);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:32:47
[INFO] [stdout]    |
[INFO] [stdout] 32 |             calc_and_set_checksum_v0(&mut buf[1..10]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |             for frame_idx in 0..(packet.frame_count as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     &mut buf[dst_start..dst_start + 5],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:39:40
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     &packet.frame_data[src_start..src_start + 4],
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:41:51
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 6]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 |             u16_to_le_bytes(&mut buf[1..3], dgram.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 |             u16_to_le_bytes(&mut buf[3..5], dgram.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 |             u16_to_le_bytes(&mut buf[6..8], dgram.command);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |             i16_to_le_bytes(&mut payload[0..], dgram.param16);
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:52:42
[INFO] [stdout]    |
[INFO] [stdout] 52 |             i32_to_le_bytes(&mut payload[2..], dgram.param32);
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 |             copy_bytes_extracting_septett(&mut buf[8..15], &payload);
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:54:47
[INFO] [stdout]    |
[INFO] [stdout] 54 |             calc_and_set_checksum_v0(&mut buf[1..16]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |             u16_to_le_bytes(&mut buf[1..3], tgram.header.destination_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:59:38
[INFO] [stdout]    |
[INFO] [stdout] 59 |             u16_to_le_bytes(&mut buf[3..5], tgram.header.source_address);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |             calc_and_set_checksum_v0(&mut buf[1..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for frame_idx in 0..(tgram.frame_count() as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     &mut buf[dst_start..dst_start + 8],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     &tgram.frame_data[src_start..src_start + 7],
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 9]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:92:78
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]    |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:96:78
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]    |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:100:82
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:110:78
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:114:33
[INFO] [stdout]     |
[INFO] [stdout] 114 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:114:47
[INFO] [stdout]     |
[INFO] [stdout] 114 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:116:78
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:119:33
[INFO] [stdout]     |
[INFO] [stdout] 119 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:121:82
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:124:37
[INFO] [stdout]     |
[INFO] [stdout] 124 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:124:50
[INFO] [stdout]     |
[INFO] [stdout] 124 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_reader.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_reader.rs:110:59
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut ldr = LiveDataReader::new(0, &LIVE_DATA_1[1..]);
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_reader.rs:99:85
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]    |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:123:78
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:214:70
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:219:39
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   &self.buf[start..start + length],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:222:45
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         drop(self.buf.drain(0..start + length));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:241:85
[INFO] [stdout]     |
[INFO] [stdout] 241 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:262:60
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:301:85
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:323:56
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:328:78
[INFO] [stdout]     |
[INFO] [stdout] 328 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:345:45
[INFO] [stdout]     |
[INFO] [stdout] 345 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |         bytes_from_timestamp(end_timestamp, &mut buf[14..22]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         buf[22..].copy_from_slice(data);
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:65:78
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]    |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:72:33
[INFO] [stdout]    |
[INFO] [stdout] 72 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:72:47
[INFO] [stdout]    |
[INFO] [stdout] 72 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]    |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:74:78
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]    |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:81:49
[INFO] [stdout]    |
[INFO] [stdout] 81 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]    |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:83:82
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]    |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:90:37
[INFO] [stdout]    |
[INFO] [stdout] 90 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]    |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:90:50
[INFO] [stdout]    |
[INFO] [stdout] 90 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:98:78
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]    |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_writer.rs:104:33
[INFO] [stdout]     |
[INFO] [stdout] 104 |         assert_eq!(&LIVE_DATA_1[0..172], &writer.as_ref()[..]);
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_writer.rs:112:78
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_writer.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |         assert_eq!(&LIVE_DATA_1[0..172], &writer.as_mut()[..]);
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/packet.rs:205:30
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let field_id = &self[21..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:303:26
[INFO] [stdout]     |
[INFO] [stdout] 303 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:332:30
[INFO] [stdout]     |
[INFO] [stdout] 332 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let expected_len = u16_from_le_bytes(&buf[2..4]) as usize;
[INFO] [stdout]    |                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:42:47
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let timestamp_ms = i64_from_le_bytes(&buf[0..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:50:55
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let timestamp = timestamp_from_checked_bytes(&buf[6..14]);
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:51:54
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let destination_address = u16_from_le_bytes(&buf[14..16]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:52:49
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let source_address = u16_from_le_bytes(&buf[16..18]);
[INFO] [stdout]    |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:57:46
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let command = u16_from_le_bytes(&buf[20..22]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:62:63
[INFO] [stdout]    |
[INFO] [stdout] 62 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let command = u16_from_le_bytes(&buf[20..22]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:78:46
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let param16 = i16_from_le_bytes(&buf[26..28]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:79:46
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let param32 = i32_from_le_bytes(&buf[28..32]);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:95:56
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:98:63
[INFO] [stdout]    |
[INFO] [stdout] 98 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:130:72
[INFO] [stdout]     |
[INFO] [stdout] 130 |                         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:147:72
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         let frame_data_length = u16_from_le_bytes(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:216:67
[INFO] [stdout]     |
[INFO] [stdout] 216 |         assert_eq!(BlobLength(14), length_from_bytes(&RECORDING_1[0..]));
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:217:67
[INFO] [stdout]     |
[INFO] [stdout] 217 |         assert_eq!(BlobLength(70), length_from_bytes(&RECORDING_1[14..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:218:67
[INFO] [stdout]     |
[INFO] [stdout] 218 |         assert_eq!(BlobLength(16), length_from_bytes(&RECORDING_1[84..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:219:68
[INFO] [stdout]     |
[INFO] [stdout] 219 |         assert_eq!(BlobLength(134), length_from_bytes(&RECORDING_1[100..]));
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:220:67
[INFO] [stdout]     |
[INFO] [stdout] 220 |         assert_eq!(BlobLength(30), length_from_bytes(&RECORDING_1[234..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:221:67
[INFO] [stdout]     |
[INFO] [stdout] 221 |         assert_eq!(BlobLength(66), length_from_bytes(&RECORDING_1[264..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:222:67
[INFO] [stdout]     |
[INFO] [stdout] 222 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[330..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:223:67
[INFO] [stdout]     |
[INFO] [stdout] 223 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[412..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:224:67
[INFO] [stdout]     |
[INFO] [stdout] 224 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[494..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:225:67
[INFO] [stdout]     |
[INFO] [stdout] 225 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[576..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:226:67
[INFO] [stdout]     |
[INFO] [stdout] 226 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[658..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:229:67
[INFO] [stdout]     |
[INFO] [stdout] 229 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[0..]));
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:230:67
[INFO] [stdout]     |
[INFO] [stdout] 230 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[32..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:231:67
[INFO] [stdout]     |
[INFO] [stdout] 231 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[64..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:232:67
[INFO] [stdout]     |
[INFO] [stdout] 232 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[96..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:233:67
[INFO] [stdout]     |
[INFO] [stdout] 233 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[128..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:234:67
[INFO] [stdout]     |
[INFO] [stdout] 234 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[160..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:235:67
[INFO] [stdout]     |
[INFO] [stdout] 235 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[192..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:241:67
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[20..]);
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:244:67
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[106..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:247:67
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[240..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:250:67
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[270..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:253:67
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[336..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:256:67
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[418..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:259:67
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[500..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:262:67
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[582..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:265:67
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[664..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:271:63
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let data = data_from_checked_bytes(0x00, &RECORDING_1[14..]);
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:278:63
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:285:63
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[234..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:292:63
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[264..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:299:63
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[330..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:306:63
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[412..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:313:63
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[494..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:320:63
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[576..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:327:63
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[658..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:334:63
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[0..32]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:341:63
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[32..64]);
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:348:63
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[64..96]);
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:355:63
[INFO] [stdout]     |
[INFO] [stdout] 355 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[96..128]);
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:362:63
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[128..160]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:369:63
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[160..192]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:376:63
[INFO] [stdout]     |
[INFO] [stdout] 376 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[192..224]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:383:72
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let data = data_from_checked_bytes(0x01, &TELEGRAM_RECORDING_1[0..]);
[INFO] [stdout]     |                                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:458:61
[INFO] [stdout]     |
[INFO] [stdout] 458 |         assert_eq!(None, data_from_bytes(0x00, &RECORDING_1[0..]));
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:459:61
[INFO] [stdout]     |
[INFO] [stdout] 459 |         assert_eq!(None, data_from_bytes(0x00, &RECORDING_1[14..34]));
[INFO] [stdout]     |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:462:48
[INFO] [stdout]     |
[INFO] [stdout] 462 |             data_from_bytes(0x00, &RECORDING_1[14..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:466:61
[INFO] [stdout]     |
[INFO] [stdout] 466 |         assert_eq!(None, data_from_bytes(0x00, &RECORDING_1[84..]));
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:469:48
[INFO] [stdout]     |
[INFO] [stdout] 469 |             data_from_bytes(0x01, &RECORDING_1[100..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:475:48
[INFO] [stdout]     |
[INFO] [stdout] 475 |             data_from_bytes(0x01, &RECORDING_1[234..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:481:48
[INFO] [stdout]     |
[INFO] [stdout] 481 |             data_from_bytes(0x01, &RECORDING_1[264..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:487:48
[INFO] [stdout]     |
[INFO] [stdout] 487 |             data_from_bytes(0x01, &RECORDING_1[330..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:493:48
[INFO] [stdout]     |
[INFO] [stdout] 493 |             data_from_bytes(0x01, &RECORDING_1[412..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:499:48
[INFO] [stdout]     |
[INFO] [stdout] 499 |             data_from_bytes(0x01, &RECORDING_1[494..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:505:48
[INFO] [stdout]     |
[INFO] [stdout] 505 |             data_from_bytes(0x01, &RECORDING_1[576..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:511:48
[INFO] [stdout]     |
[INFO] [stdout] 511 |             data_from_bytes(0x01, &RECORDING_1[658..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:518:48
[INFO] [stdout]     |
[INFO] [stdout] 518 |             data_from_bytes(0x01, &RECORDING_3[0..])
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:524:48
[INFO] [stdout]     |
[INFO] [stdout] 524 |             data_from_bytes(0x01, &RECORDING_3[32..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:530:48
[INFO] [stdout]     |
[INFO] [stdout] 530 |             data_from_bytes(0x01, &RECORDING_3[64..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:536:48
[INFO] [stdout]     |
[INFO] [stdout] 536 |             data_from_bytes(0x01, &RECORDING_3[96..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:542:48
[INFO] [stdout]     |
[INFO] [stdout] 542 |             data_from_bytes(0x01, &RECORDING_3[128..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:548:48
[INFO] [stdout]     |
[INFO] [stdout] 548 |             data_from_bytes(0x01, &RECORDING_3[160..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:554:48
[INFO] [stdout]     |
[INFO] [stdout] 554 |             data_from_bytes(0x01, &RECORDING_3[192..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:560:57
[INFO] [stdout]     |
[INFO] [stdout] 560 |             data_from_bytes(0x01, &TELEGRAM_RECORDING_1[0..])
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |     i64_to_le_bytes(&mut buf[0..8], timestamp);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     u16_to_le_bytes(&mut buf[2..4], length);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     u16_to_le_bytes(&mut buf[4..6], length);
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:37:46
[INFO] [stdout]    |
[INFO] [stdout] 37 |     bytes_from_timestamp(timestamp, &mut buf[6..14]);
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     u16_to_le_bytes(&mut buf[14..16], header.destination_address);
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |     u16_to_le_bytes(&mut buf[16..18], header.source_address);
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |             u16_to_le_bytes(&mut buf[20..22], packet.command);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |             u16_to_le_bytes(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:67:53
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 .copy_from_slice(&packet.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |             u16_to_le_bytes(&mut buf[20..22], dgram.command);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:75:38
[INFO] [stdout]    |
[INFO] [stdout] 75 |             i16_to_le_bytes(&mut buf[26..28], dgram.param16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |             i32_to_le_bytes(&mut buf[28..32], dgram.param32);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 |             u16_to_le_bytes(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:87:52
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 .copy_from_slice(&tgram.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:106:67
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let data1 = data_from_checked_bytes(channel, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:110:67
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let data2 = data_from_checked_bytes(channel, &RECORDING_3[0..]);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:114:76
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let data3 = data_from_checked_bytes(channel, &TELEGRAM_RECORDING_1[0..]);
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:153:67
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let data1 = data_from_checked_bytes(channel, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:156:33
[INFO] [stdout]     |
[INFO] [stdout] 156 |         assert_eq!(&RECORDING_1[100..234], &buf[0..134]);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:156:49
[INFO] [stdout]     |
[INFO] [stdout] 156 |         assert_eq!(&RECORDING_1[100..234], &buf[0..134]);
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:158:67
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let data2 = data_from_checked_bytes(channel, &RECORDING_3[0..]);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         assert_eq!(&RECORDING_3[0..32], &buf[0..32]);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         assert_eq!(&RECORDING_3[0..32], &buf[0..32]);
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:163:76
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let data3 = data_from_checked_bytes(channel, &TELEGRAM_RECORDING_1[0..]);
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:167:42
[INFO] [stdout]     |
[INFO] [stdout] 167 |         assert_eq!(&TELEGRAM_RECORDING_1[0..33], &buf[0..33]);
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:167:55
[INFO] [stdout]     |
[INFO] [stdout] 167 |         assert_eq!(&TELEGRAM_RECORDING_1[0..33], &buf[0..33]);
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_reader.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok(&bytes[0..self.previous_length])
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:105:78
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let data_set_timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:153:73
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     let timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:154:85
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let comment = RecordingComment::new(timestamp, Vec::from(&bytes[14..]));
[INFO] [stdout]     |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:229:81
[INFO] [stdout]     |
[INFO] [stdout] 229 |                     let record_timestamp = timestamp_from_checked_bytes(&record[6..14]);
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:362:56
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let mut rr = RecordingReader::new(&RECORDING_1[1..]);
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.writer.write_all(&buf[0..14])?;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:47:44
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 self.writer.write_all(&buf[0..16])?;
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:52:40
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.writer.write_all(&buf[0..length])?;
[INFO] [stdout]    |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |         assert_eq!(&RECORDING_1[0..740], &writer[0..740]);
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:95:50
[INFO] [stdout]    |
[INFO] [stdout] 95 |         assert_eq!(&RECORDING_1[0..740], &writer[0..740]);
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/specification.rs:961:48
[INFO] [stdout]     |
[INFO] [stdout] 961 | ...                   write!(f, "{}", &s[1..])?;
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1045:57
[INFO] [stdout]      |
[INFO] [stdout] 1045 |                     let frame_data = &packet.frame_data[0..packet.frame_count as usize * 4];
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1227:18
[INFO] [stdout]      |
[INFO] [stdout] 1227 |         for n in 0..19 {
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1234:18
[INFO] [stdout]      |
[INFO] [stdout] 1234 |         for n in -20..20 {
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1674:37
[INFO] [stdout]      |
[INFO] [stdout] 1674 |                 .raw_value_i64(&buf[0..3])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1681:37
[INFO] [stdout]      |
[INFO] [stdout] 1681 |                 .raw_value_i64(&buf[0..2])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1688:37
[INFO] [stdout]      |
[INFO] [stdout] 1688 |                 .raw_value_i64(&buf[0..1])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1695:37
[INFO] [stdout]      |
[INFO] [stdout] 1695 |                 .raw_value_i64(&buf[0..0])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1761:37
[INFO] [stdout]      |
[INFO] [stdout] 1761 |                 .raw_value_f64(&buf[0..3])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1768:37
[INFO] [stdout]      |
[INFO] [stdout] 1768 |                 .raw_value_f64(&buf[0..2])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1775:37
[INFO] [stdout]      |
[INFO] [stdout] 1775 |                 .raw_value_f64(&buf[0..1])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1782:37
[INFO] [stdout]      |
[INFO] [stdout] 1782 |                 .raw_value_f64(&buf[0..0])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/specification_file.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 |     &buf[offset..(offset + length)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:368:60
[INFO] [stdout]     |
[INFO] [stdout] 368 |             let checksum_a = u16_from_le_bytes(&fileheader[0x00..0x02]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:369:60
[INFO] [stdout]     |
[INFO] [stdout] 369 |             let checksum_b = u16_from_le_bytes(&fileheader[0x02..0x04]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:370:62
[INFO] [stdout]     |
[INFO] [stdout] 370 |             let total_length = i32_from_le_bytes(&fileheader[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:371:62
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let data_version = i32_from_le_bytes(&fileheader[0x08..0x0C]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:372:70
[INFO] [stdout]     |
[INFO] [stdout] 372 |             let specification_offset = i32_from_le_bytes(&fileheader[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:376:41
[INFO] [stdout]     |
[INFO] [stdout] 376 |             } else if calc_crc16(&bytes[0x04..total_length]) != checksum_a {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/specification_file.rs:495:10
[INFO] [stdout]     |
[INFO] [stdout] 495 |         (-1..=6).contains(&id)
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:508:49
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let datecode = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:509:51
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let text_count = i32_from_le_bytes(&block[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:510:58
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let text_table_offset = i32_from_le_bytes(&block[0x08..0x0C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:511:61
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let localized_text_count = i32_from_le_bytes(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:512:68
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let localized_text_table_offset = i32_from_le_bytes(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:513:51
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let unit_count = i32_from_le_bytes(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:514:58
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let unit_table_offset = i32_from_le_bytes(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:515:62
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let device_template_count = i32_from_le_bytes(&block[0x1C..0x20]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:516:69
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let device_template_table_offset = i32_from_le_bytes(&block[0x20..0x24]) as usize;
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:517:62
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let packet_template_count = i32_from_le_bytes(&block[0x24..0x28]) as usize;
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:518:69
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let packet_template_table_offset = i32_from_le_bytes(&block[0x28..0x2C]) as usize;
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:548:26
[INFO] [stdout]     |
[INFO] [stdout] 548 |             for index in 0..text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:553:26
[INFO] [stdout]     |
[INFO] [stdout] 553 |             for index in 0..localized_text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:559:26
[INFO] [stdout]     |
[INFO] [stdout] 559 |             for index in 0..unit_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:564:26
[INFO] [stdout]     |
[INFO] [stdout] 564 |             for index in 0..device_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:570:26
[INFO] [stdout]     |
[INFO] [stdout] 570 |             for index in 0..packet_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:582:54
[INFO] [stdout]     |
[INFO] [stdout] 582 |         let string_offset = i32_from_le_bytes(&block[0x00..0x04]) as usize;
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:591:46
[INFO] [stdout]     |
[INFO] [stdout] 591 |             match std::str::from_utf8(&bytes[string_offset..string_end]) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:605:54
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let text_index_en = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:606:54
[INFO] [stdout]     |
[INFO] [stdout] 606 |         let text_index_de = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:607:54
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let text_index_fr = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:626:48
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let unit_id = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:627:55
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let unit_family_id = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:628:61
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let unit_code_text_index = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:629:61
[INFO] [stdout]     |
[INFO] [stdout] 629 |         let unit_text_text_index = i32_from_le_bytes(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:654:53
[INFO] [stdout]     |
[INFO] [stdout] 654 |         let self_address = u16_from_le_bytes(&block[0x00..0x02]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:655:50
[INFO] [stdout]     |
[INFO] [stdout] 655 |         let self_mask = u16_from_le_bytes(&block[0x02..0x04]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:656:53
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let peer_address = u16_from_le_bytes(&block[0x04..0x06]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:657:50
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let peer_mask = u16_from_le_bytes(&block[0x06..0x08]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:658:66
[INFO] [stdout]     |
[INFO] [stdout] 658 |         let name_localized_text_index = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:680:60
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let destination_address = u16_from_le_bytes(&block[0x00..0x02]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:681:57
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let destination_mask = u16_from_le_bytes(&block[0x02..0x04]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:682:55
[INFO] [stdout]     |
[INFO] [stdout] 682 |         let source_address = u16_from_le_bytes(&block[0x04..0x06]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:683:52
[INFO] [stdout]     |
[INFO] [stdout] 683 |         let source_mask = u16_from_le_bytes(&block[0x06..0x08]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |         let command = u16_from_le_bytes(&block[0x08..0x0A]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:685:52
[INFO] [stdout]     |
[INFO] [stdout] 685 |         let field_count = i32_from_le_bytes(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:686:59
[INFO] [stdout]     |
[INFO] [stdout] 686 |         let field_table_offset = i32_from_le_bytes(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:692:26
[INFO] [stdout]     |
[INFO] [stdout] 692 |             for index in 0..field_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:716:54
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let id_text_index = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:717:66
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let name_localized_text_index = i32_from_le_bytes(&block[0x04..0x08]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:718:48
[INFO] [stdout]     |
[INFO] [stdout] 718 |         let unit_id = i32_from_le_bytes(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:719:50
[INFO] [stdout]     |
[INFO] [stdout] 719 |         let precision = i32_from_le_bytes(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:720:48
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let type_id = i32_from_le_bytes(&block[0x10..0x14]);
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:721:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |         let part_count = i32_from_le_bytes(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:722:58
[INFO] [stdout]     |
[INFO] [stdout] 722 |         let part_table_offset = i32_from_le_bytes(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:736:26
[INFO] [stdout]     |
[INFO] [stdout] 736 |             for index in 0..part_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:760:52
[INFO] [stdout]     |
[INFO] [stdout] 760 |         let data_offset = i32_from_le_bytes(&block[0x00..0x04]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:764:47
[INFO] [stdout]     |
[INFO] [stdout] 764 |         let factor = i64_from_le_bytes(&block[0x08..0x10]);
[INFO] [stdout]     |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |     calc_checksum_v0(&buf[0..idx]) == buf[idx]
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     buf[idx] = calc_checksum_v0(&buf[0..idx]);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 184 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib) due to 185 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 370 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib test) due to 371 previous errors
[INFO] running `Command { std: "docker" "inspect" "7ce541e85c64345f89fac5c24a3ce515ea12e74dbf4e3363e0263c6bf832c037", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ce541e85c64345f89fac5c24a3ce515ea12e74dbf4e3363e0263c6bf832c037", kill_on_drop: false }`
[INFO] [stdout] 7ce541e85c64345f89fac5c24a3ce515ea12e74dbf4e3363e0263c6bf832c037
